// 来源于layui示例--表单--查看代码后面的js复制来后修正

layui.use(['form', 'layedit', 'laydate', 'jquery'], function () {
  var form = layui.form
    , layer = layui.layer
    , layedit = layui.layedit
    , laydate = layui.laydate
    , $ = layui.$;

  //日期
  laydate.render({
    elem: '#date'
  });
  laydate.render({
    elem: '#date1'
  });

  //创建一个编辑器
  var editIndex = layedit.build('LAY_demo_editor');

  //自定义验证规则
  // 为什么前后端都进行校验:前端校验不通过，就不会往后台发送数据，不浪费请求资源。
  form.verify({
    pass: [
      /^[\S]{6,12}$/
      , '密码必须6到12位，且不能出现空格'
    ]
    , re_pass: function (value, item) {
      if (value != $('input[name="password"]').val()) {
        return '两次密码不一致'
      }
    }
    , verify: [
      /^[\d]{6}$/
      , '验证码必须6位数字'
    ]
  });

  //监听提交
  // form.on('submit(demo1)', function(data){
  //   layer.alert(JSON.stringify(data.field), {
  //     title: '最终的提交信息'
  //   })
  //   return false;
  // });

  // 发送邮件验证码
  let expiry_time = 60 // [ɪkˈspaɪər]过期时间
  let time_count = expiry_time
  let flag = true;

  // 将发送邮件验证码状态封装成函数，已供调用
  function send_email_style() {
    $('#send_mail').addClass('layui-btn-disabled');
    flag = false;

    // 定义倒计时函数
    let timeOut = function () {
      $('#send_mail').text(time_count + '秒后重试');

      if (time_count == 0) {
        clearInterval(setTime);
        flag = true;
        $('#send_mail').removeClass('layui-btn-disabled');
        $('#send_mail').text('发送验证码');
        time_count = expiry_time;
      }
      time_count--;
    }
    timeOut(); // 消除延时
    let setTime = setInterval(timeOut, 1000);
  }

  // 点击事件
  $('#send_mail').click(function () {
    email = $('input[name="email"]').val()
    if (!email) {
      layer.msg('请输入邮箱', {icon: 5}) // layer.msg()layui自带的提示框；{icon: 5}哭脸图表；
      return false
    }
    let reg = /^([A-Za-z0-9])(\w|\-)+@[A-Za-z0-9]+\.([A-Za-z]{2,5})$/;
    if (!reg.test(email)) { // 邮箱格式校验
      layer.msg('邮箱格式不正确', {icon: 5}); // layer.msg()layui自带的提示框；{icon: 5}哭脸图表；
      return false;
    }
    if (!flag) {
      layer.msg('请稍后重试', {icon: 5});
      return false;
    }
    console.log($('input[name="csrfmiddlewaretoken"]').val())
    $.post({
      url: '/email/verification/',
      headers: {'X-CSRFToken': $('input[name="csrfmiddlewaretoken"]').val()},
      data: {email: email}
    }); // 最后加入，演示邮件是否收到
    send_email_style();
  });

});